package com.zide.auth.service;

import com.zide.auth.domain.entity.platform.PlatformUser;
import com.zide.auth.domain.vo.request.LoginReqVO;
import com.zide.auth.domain.vo.response.RouterVo;
import com.zide.auth.domain.vo.response.UserPermiRespVO;
import com.zide.auth.vo.result.PlatformUserResultVO;
import com.zide.auth.vo.search.PlatformUserSearchVO;
import com.zide.common.core.domain.PageResult;

import java.util.List;

/**
 * @author 石添添
 * @description
 * @date 2024-09-09 22:19
 */
public interface PlatformUserService {
    String login(LoginReqVO reqVO);

    void logout();

    UserPermiRespVO searchPermission();
    List<RouterVo> buildMenus();

    PageResult<PlatformUserResultVO> selectAllocatedList(PlatformUserSearchVO searchVO);

    PageResult<PlatformUserResultVO> selectUnallocatedList(PlatformUserSearchVO searchVO);

    PageResult<PlatformUserResultVO> selectPage(PlatformUserSearchVO searchVO);

    List<PlatformUserResultVO> selectUserList(PlatformUser user);

    String importUser(List<PlatformUser> userList, boolean updateSupport, Long userId);

    PlatformUser selectUserById(Long userId);

    int insertUser(PlatformUser user);

    int updateUser(PlatformUser user);

    int resetPwd(PlatformUser user);

    int updateUserStatus(PlatformUser user);

    boolean insertUserAuth(Long userId, Long[] roleIds);

    int deleteUserByIds(Long[] userIds);

}
